/**
 * OperationDate.java    22/05/2012
 */

package l3.info.projetJava.utilitaires;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.apache.log4j.Logger;

/**
 * Classe utilitaire permettant les opérations sur les dates
 * @author Loïc Martinez
 * @version 1.0
 */

public class OperationDate {

    /** Logger */
    private static Logger logger = Logger.getLogger(OperationDate.class);
    
    /**
     * Ajoute nbJours à la date date
     * @param date, une date en String de la forme jj/mm/yyyy
     * @param nbJours, le nombre de jours à ajouter
     *        ou à retirer (ex : +1 ou -1)
     * @return la date en String avec nbJours de plus ou de moins
     */
    public static String add(String date, int nbJours) {
        
        try {
            
            SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

            Calendar calendar = Calendar.getInstance();

            // On ajoute 1 jour à la date
            if (date != null) {

                Date myDate = dateFormat.parse(date);

                calendar.setTime(myDate);
                calendar.add(Calendar.DATE, nbJours);
                date = calendar.get(Calendar.DATE) + "";
                date += "/";
                date += calendar.get(Calendar.MONTH) +1;
                date += "/";
                date += calendar.get(Calendar.YEAR);
            }

        } catch (ParseException ex) {
            logger.error("OperationDate.add() : ParseException");
        }
        return date;
    }
}
